import type { ReqPage } from './index'

/** 登录 */
export namespace Login {
  export interface ResLogin {
    existPassWord: boolean
    token: string
    info: Info
  }
  export interface Info {
    path: null
    mediaType: null
    uniqueId: null
    oneTag: null
    twoTag: null
    storeScheme: null
    id: number
    pid: number
    accountType: number
    workCity: number
    phone: string
    name: string
    enterpriseName: string
    gmtCreate: string
    driverIds: any[]
    permissions: string[]
    existPassWord: boolean
    consumerHotline: string
    appConfigs: null
  }
}

/** 测试列表 */
export namespace TestList {
  export interface ReqParams extends ReqPage {
    belong?: number
    businessIds?: any[]
    carBrandIds?: any[]
    checkState?: number
    gmtCreatEnd?: string
    gmtCreatStart?: string
    groupIds?: any[]
    idleEndTime?: string
    idleStartTime?: string
    isNewEnergy?: boolean
    licenseNo?: string
    maxSeatingCapacity?: number
    minSeatingCapacity?: number
    state?: number
  }
  export interface ResItem {
    id: number
    licenseColor: number
    licenseNo: string
    permitNo: string
    carType: number
    registerTime: string
    fuel: number
    chassisNo: string
    engineNo: string
    seatingCapacity: number
    displacement: number
    airIntake: number
    gearbox: number
    gearChange: number
    brandId: number
    brandName: null
    factoryId: number
    seriesName: string
    factoryName: string
    permitBrandName: string
    designYear: string
    isNetworkCar: number
    vehicleType: string
    ownerName: string
    vehicleColor: string
    vin: string
    fixState: string
    nextFixDate: string
    checkState: string
    gpsBrand: string
    gpsModel: string
    gpsImei: string
    gpsInstallDate: string
    state: number
    isDelete: number
    gmtCreate: string
    gmtModified: string
    simpleMediaFiles: SimpleMediaFile[]
    checkDate: null
    insurEndTimes: null
    insurType: string
    isBind: boolean
    systemNo: string
    outage: number
    equipmentNo: null
    equipmentType: number
    nationalVehicleType: number
    drivingLicense: DrivingLicense
    bindDriver: null
    drivingLicenseState: number
    insurState: number
    isAffiliated: boolean
    belong: number
    businessStates: BusinessState[]
    workingState: number
    driverId: number
    driverName: null
    schedules: any[]
    bindTime: string
    filing: Filing
    equipmentBind: boolean
  }

  export interface Filing {
    id: null
    superviseId: null
    enterpriseId: null
    vehicleId: null
    status: number
    filingTime: null
    outage: number
    outagePlatform: null
    outageTime: null
    isDelete: null
    gmtCreate: null
    gmtModified: null
    operatorId: null
    operatorType: null
    operatorName: null
  }

  export interface BusinessState {
    id: number
    businessId: number
    enterpriseId: number
    vehicleId: number
    state: number
    checkTimes: number
    secondCheckTime: null | string
    secondCheckAddress: null | string
    gmtCreate: string
  }

  export interface DrivingLicense {
    mediaFiles: any[]
    id: number
    commonMediaFiles: any[]
  }

  export interface SimpleMediaFile {
    relationId: number
    oneTag: number
    twoTag: number
    uniqueId: number
    mediaId: number
    mediaType: number
    storeScheme: number
    url: null
    mediaPath: string
    gmtCreate: string
  }
}
